草庐IT

Unity3D UI

全部标签

c++ - 在 Unity 中用 C++ 实现组件系统

我一直在尝试制作一个类似于Unity的基于组件的系统,但使用C++。我想知道如何GetComponent()Unity实现的方法有效。这是一个非常强大的功能。具体来说,我想知道它使用什么样的容器来存储其组件。我在此函数的克隆中需要的两个标准如下。1.我还需要返回任何继承的组件。例如,如果SphereCollider继承对撞机,GetComponent()将返回SphereCollider附在GameObject,但是GetComponent()不会返回任何Collider随附的。2.我需要快速的功能。最好是使用某种散列函数。对于标准一,我知道我可以使用类似于以下实现的东西std::ve

【Unity基础】4.动画Animation

 【Unity基础】4.动画Animation    大家好,我是Lampard~~    欢迎来到Unity基础系列博客,所学知识来自B站阿发老师~感谢  (一)Unity动画编辑器(1)Animation组件  这一张我们要学习如何在unity编辑器中,编辑一个动画。其中所使用到的组件是Animation,那什么是Animation组件呢?Unity中的Animation组件是用于控制游戏对象动画的组件。Animation组件可以让开发者创建和编辑对象的动画,以及在运行时控制动画的播放和暂停等操作。Animation组件有以下几个主要属性和方法:-Clip:表示动画的剪辑,即具体的动画片段

Unity InputSystem 基础使用之鼠标交互

资料官方文档导入InputSystem包PackageManager搜索InputSystem进行下载启用该包,会重启UnityEditor注意InputSystem可以和旧版输入系统一起使用设置:ProjectSettings->Player->OtherSettings->Configuration->ActiveInputHandling参数可选:InputManager(old),InputSystemPackage(New),Both鼠标交互获取当前鼠标Mouse.current鼠标指针位置(屏幕空间)mouse.position.ReadValue()类似Input.mousePo

Unity Hololens2开发|(五)MRTK3子系统 KeywordRecognitionSubsystem(关键字识别)

目录1.前言2.设置2.1启用语音子系统2.2确保MRTKSpeechGameObject处于活动状态2.3确保在“播放器设置”中设置适当的功能3.使用关键字3.1KeywordRecognitionSubsystem与StatefulInteractable一起使用3.2手动使用KeywordRecognitionSubsystem1.前言核心定义包附带有KeywordRecognitionSubsystem,它是MRTKSubsystem和IKeywordRecognitionSubsystem的基本实现,作为负责MRTK3中的关键字/短语识别的子系统的基础。MRTK附带的具体实现(例如W

关于unity中 编辑器相关逻辑的记录

prefab在场景中,用这个方法可以获取它的磁盘路径:   [MenuItem("Gq_Tools/↓获取prefab路径")]  publicstaticvoidSaveDecalParameters()   {    varobjs=Selection.objects;    varobj=objs[0]asGameObject;    ObjectparentObject=PrefabUtility.GetCorrespondingObjectFromSource(obj);    stringresourcePath=AssetDatabase.GetAssetPath(parentO

unity物体移动至指定位置

物体坐标与物体移动世界坐标与局部坐标之间的转换物体移动至指定位置需求思路注意世界坐标与局部坐标之间的转换在Unity中,物体的坐标分为局部坐标和世界坐标。局部坐标是相对于物体的父对象的坐标系,而世界坐标是相对于场景的整体坐标系。使用transform.position属性来获取物体在世界坐标系下的坐标。使用transform.localPosition属性来获取物体在世界坐标系下的坐标。使用transform.TransformPoint将局部坐标系转换为世界坐标系。使用transform.InverseTransformPoint世界坐标系转换为局部坐标系。举个例子将下面代码挂载到Spher

Unity新动画系统之动画状态机Animator Controller

1、创建动画状态机文件(1)会在创建动画时自动创建(2)Create----AnimatorController2、动画状态机窗口相关层级:可以在右侧齿轮设置参数大小  3、添加动画为对象添加动画后会自动添加到状态机中4、状态切换动画会在1和2之间不断切换 添加条件点击转换箭头 在这里设置条件5、代码控制动画切换(1)Animator组件(2)Animator的APIif(Input.GetKeyDown(KeyCode.A)){animator.SetFloat("条件名",1.2f);}if(Input.GetKeyDown(KeyCode.S)){animator.SetInteger(

解决Unity导入Cinemachine插件后不显示在菜单栏而是显示在Gameobject栏的问题

之前看到有帖子说Unity2019.3以后的版本都不自带Cinemachine的插件,然后介绍了两种导入方法1:打开Window>PackageManager>(左上角)Addpackagefromdisk…定位到:C:\Users(userName)\AppData\Local\Unity\cache\packages\packages.unity.cn\com.unity.cinemachine@(某个版本号)\package.json【假如搜不到APPData可能是文件夹隐藏了】2:Packages选择UnityRegistry直接搜索Cinemachine插件进行下载下载完成之后你的U

Unity中的Vector2的使用方法

Vector2表示2D向量和点1.静态变量voidStart(){//静态变量print(Vector2.down);print(Vector2.up);//Y轴正方向print(Vector2.left);print(Vector2.right);//X轴正方向print(Vector2.one);//单位化向量(1.1)print(Vector2.zero);//用来获取坐标原点}2.构造函数voidStart(){Vector2v2=newVector2(2,2);print("v2的向量是:"+v2);//输出v2的向量是:(2.00,2.00)}3.成员变量(注意:开头小写的)pri

Unity中Shader 纹理属性 Tilling(缩放度) 和 Offset(偏移度)

文章目录前言一、Tilling(缩放度),个人理解有点像减小周期函数的周期的效果(在单位空间内,容得下重复的函数图像的多少)二、Offset(偏移度),个人理解是函数的平移三、在Shader中使用Tilling和Offset时,需要在纹理后申明一个四维向量(因为是纹理,需要精确一点,一般使用float4这个四维向量,且名字在贴图名后加_ST即可)1、然后这里用消融效果的噪波贴图做例子,就是在片元着色器中,对噪波贴图进行采样时,使用噪波贴图的二维向量uv*XX_ST.xy+XX_ST.zw(这里的xy代表Tilling的xy,zw代表Offset的xy)2、优化代码在片元着色器取样时,对每一个取